Linux基础教程 linux中使用find命令搜索文件常用方法记录

您所在的位置:网站首页 linux find Linux基础教程 linux中使用find命令搜索文件常用方法记录

Linux基础教程 linux中使用find命令搜索文件常用方法记录

#Linux基础教程 linux中使用find命令搜索文件常用方法记录| 来源: 网络整理| 查看: 265

  

  find是linux非常强大的搜索命令,通过man find查看find手册,可以发现find的说明一屏接一屏,估计要看完也得花不少时间。兄弟连Linux培训小编总结了下,整理出find常用的使用方法。  1、命令格式  find 搜索路径 搜索表达式  搜索路径:这个比较容易理解,就是指定的搜索目录,比如/etc。搜索路径也可以同时指定多个,用空格分开就可以了,如/etc /home。  搜索表达式:find命令关键就是在表达式上,表达式的选项非常多。以下命令测试主要根据表达式的选项来划分。  2、命令测试  a、以文件名来搜索文件  这个功能蛮常用的,示例如下:  $ find /etc -name 'apache2'  /etc/default/apache2  /etc/php5/apache2  /etc/apache2  /etc/logrotate.d/apache2  /etc/cron.daily/apache2  /etc/init.d/apache2  这个-name选项比较常用,后面接一个要搜索的文件名。上例用来搜索etc目录下文件名是apache2的文件。另外有一个要注意下,这里是精确搜索,只有文件名是apache2才会被搜索到。如果需要模糊搜索,可以用正则表达式,如下例:  $ find /etc -name 'apache*'  b、根据文件时间进行搜索  有时想找出最近修改的文件,就可以用时间选项,时间选项有三种atime、mtime、ctime,以下用mtime进行说明。  mtime n :找出前第n天改动过的文件  mtime +n :找出n天前改动过的文件,不包括第n天,用数学的区间表示就是(-∞, -n)  mtime -n:找出n天内改动过的文件,不包括第n天,用数学的区间表示就是(-n,0]  其中-∞表示很久很久以前,0表示今天。用数轴来表示就很明显了。

  linux中find命令时间选项测试  找出今天有改动的文件  $ find /home mtime 0  这边0就是表示第0天,就是今天了。这个方法用来指定查找某天修改过的文件很有用,例如今天是12月30日,想找出28日修改的文件,将0修改成2就可以了。如下:  $ find /home mtime 2  找出2天内改动的文件  $ find /home mtime -2  用区间表示为(-2,0],显然只有-1和0两个数字,分别表示昨天和今天。  找出2天前改动的文件  $ find /home mtime +2  c、通过用户或者用户组来查找文件  这类选项相对也常用些。常用的有:  -uid n : 搜索所属用户编号为n的文件  -gid n :搜索所属用户组编号为n的文件  -user name :搜索所属用户名为name的文件  -group name:搜索所属用户组名为name的文件  搜索所属用户名为root的文件  $ find / -user 'root'  总结  find命令的选项非常多,有需要了解其他选项的可以参考man手册。和locate相比,find会实际扫描磁盘,相对来说会慢些,小编建议能用locate搞定的就用locate搞定。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3